package es.uned.hoomgle.core.services.interfaces;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import es.uned.hoomgle.hibernate.beans.interfaces.HomeI;
import es.uned.hoomgle.hibernate.beans.interfaces.ParameterI;

public interface ParameterServiceI {

	/**
	 * Persiste un parametro
	 * @param parameter
	 * @return
	 */
	@Transactional
	public abstract ParameterI save(ParameterI parameter);

	/**
	 * Consulta un parametro
	 * @param query
	 * @return
	 */
	@Transactional
	public List<ParameterI> getQuery(String query);
	
	/**
	 * Guarda una lista de parametros
	 * @param parameters
	 */
	public void saveList (List<ParameterI> parameters);
	
	/**
	 * Carga un parametro en base al id
	 * @param id
	 * @return
	 */
	public ParameterI load (Integer id);
	
	/**
	 * Obtiene la lista de todos los parametros
	 * @return
	 */
	public List<ParameterI> getAllParameters();

}